

#include	"SysConfig.h"
#include	"Define.h"
#include	"Port.h"
#ifdef  MOVON
#include	"Bluetooth.h"
#include	"Movon.h"


unsigned char ucMV_UART_TX_Buf[MV_TX_SIZE];
unsigned short	usMV_UART_TX_wPtr;
unsigned short	usMV_UART_TX_rPtr;

extern unsigned char ucMV_BootOn;

unsigned short MV_TX_GetWritePtr(void)
{
	return(usMV_UART_TX_wPtr);
}

unsigned short MV_TX_GetReadPtr(void)
{
	return(usMV_UART_TX_rPtr);
}

void MV_TX_WriteBuf(unsigned char ucData)
{
	ucMV_UART_TX_Buf[usMV_UART_TX_wPtr] = ucData;
	++usMV_UART_TX_wPtr;
	usMV_UART_TX_wPtr = usMV_UART_TX_wPtr % MV_TX_SIZE;
}

unsigned char MV_TX_GetBuf(void)
{
	unsigned char ucData;

	ucData = ucMV_UART_TX_Buf[usMV_UART_TX_rPtr];
	++usMV_UART_TX_rPtr;
	usMV_UART_TX_rPtr = usMV_UART_TX_rPtr % MV_TX_SIZE;

	return(ucData);
}

unsigned char ucMV_UartTX_Mode;

void MV_TX_Int(void)
{
	if  (usMV_UART_TX_rPtr == usMV_UART_TX_wPtr)
	{
		te_u0c1 = 0;
		ucMV_UartTX_Mode = MV_TX_NONE;
	}
	else
	{
		u0tbl = MV_TX_GetBuf();
		ti_u0c1 = 0;
	}
}

unsigned char MV_TX_GetUartMode(void)
{
	return(ucMV_UartTX_Mode);
}
void MV_TX_SetUartMode(unsigned char ucMode)
{
	ucMV_UartTX_Mode = ucMode;
}

void MV_UartTX_Main(void)
{
	if  (usMV_UART_TX_rPtr == usMV_UART_TX_wPtr)
	{
		return;
	}

	switch  (ucMV_UartTX_Mode)
	{
		case MV_TX_NONE:
			ucMV_UartTX_Mode = MV_TX_ACTIVED;
			
			te_u0c1 = 1;	// transmit enable
			u0tbl = MV_TX_GetBuf();
			ti_u0c1 = 0;
			break;
		case MV_TX_ACTIVED:
			break;
	}
}

void MV_RequestHeader(void)
{
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0xCD);
	MV_TX_WriteBuf(0xFF);
	MV_TX_WriteBuf(0xCD);
}

void MV_TX_BTOn(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x17);
	ucMV_BootOn = 1;
	LOG_BT("MV_TX_BTOn");
}

void MV_TX_BTOff(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x21);
	LOG_BT("MV_TX_BTOff");
}

void MV_TX_StartPairing(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x00);
	LOG_BT("MV_TX_StartPairing");
}

void MV_TX_StopPairing(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x01);
	LOG_BT("MV_TX_StopPairing");
}

void MV_TX_ReadPairedDevice(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x02);
	LOG_BT("MV_TX_ReadPairedDevice");
}

void MV_TX_ClearAllPairedDevice(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x03);

	LOG_BT("MV_TX_ClearAllPairedDevice");
}

void MV_TX_ClearPairedDevice(BT_DEVICE	sBT_List)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x07);
	MV_TX_WriteBuf(0x04);

	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[0]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[1]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[2]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[3]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[4]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[5]);
	LOG_BT("MV_TX_ClearPairedDevice");
}

void MV_TX_GetDeviceStatus(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x05);
	LOG_BT("MV_TX_GetDeviceStatus");
}

void MV_TX_ReadLocalName(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x06);
	LOG_BT("MV_TX_ReadLocalName");
}

void MV_TX_ReadLocalBDAddress(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x07);
	LOG_BT("MV_TX_ReadLocalBDAddress");
}

void MV_TX_ReadLocalClassOfDevice(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x08);
	LOG_BT("MV_TX_ReadLocalClassOfDevice");
}

void MV_TX_ReadLastUsed_AG_Name(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x09);
	LOG_BT("MV_TX_ReadLastUsed_AG_Name");
}

void MV_TX_ReadLastUsed_AV_SourceName(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x0A);
	LOG_BT("MV_TX_ReadLastUsed_AV_SourceName");
}

void MV_TX_ReadRemoteNameToBDAddr(BT_DEVICE sBT_List)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01+6);
	MV_TX_WriteBuf(0x0B);

	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[0]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[1]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[2]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[3]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[4]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[5]);
	LOG_BT("MV_TX_ReadRemoteNameToBDAddr");
	LOG_BT("%X:%X:%X:%X:%X:%X",sBT_List.ucDeviceAdr[0],sBT_List.ucDeviceAdr[1],sBT_List.ucDeviceAdr[2],sBT_List.ucDeviceAdr[3],sBT_List.ucDeviceAdr[4],sBT_List.ucDeviceAdr[5]);
}

void MV_TX_GetRSSI(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x0C);
	LOG_BT("MV_TX_GetRSSI");
}

void MV_TX_ConnectAllToBDAddr(BT_DEVICE sBT_List)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x07);
	MV_TX_WriteBuf(0x0F);

	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[0]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[1]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[2]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[3]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[4]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[5]);
	LOG_BT("MV_TX_ConnectAllToBDAddr");
	LOG_BT("%X:%X:%X:%X:%X:%X",sBT_List.ucDeviceAdr[0],sBT_List.ucDeviceAdr[1],sBT_List.ucDeviceAdr[2],sBT_List.ucDeviceAdr[3],sBT_List.ucDeviceAdr[4],sBT_List.ucDeviceAdr[5]);
}

void MV_TX_DisconnectAll(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x10);
	LOG_BT("MV_TX_DisconnectAll");
}

/*///////////////////////////////////////////////////////////////////////////
Title : void MV_TX_ChangePincodeReq(unsigned char *ucPinCode)
ucPincCode : Ascii Code
////////////////////////////////////////////////////////////////////////////*/
void MV_TX_ChangePincodeReq(unsigned char *ucPinCode)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x07);
	MV_TX_WriteBuf(0x0F);

	MV_TX_WriteBuf(*ucPinCode);
	MV_TX_WriteBuf(*(ucPinCode + 1));
	MV_TX_WriteBuf(*(ucPinCode + 2));
	MV_TX_WriteBuf(*(ucPinCode + 3));
	LOG_BT("MV_TX_ChangePincodeReq");
}

void MV_TX_SLC_Connect(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x20);	
	LOG_BT("MV_TX_SLC_Connect");
}

void MV_TX_SLC_ConnectToBDAddr(BT_DEVICE sBT_List)
{	
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x21);
	
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[0]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[1]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[2]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[3]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[4]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[5]);
	LOG_BT("MV_TX_SLC_ConnectToBDAddr");
}

void MV_TX_HF_SpeakerVolumeUp(void)
{	
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x25);
	LOG_BT("MV_TX_HF_SpeakerVolumeUp");
}

void MV_TX_HF_SpeakerVolumeDown(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x26);
	LOG_BT("MV_TX_HF_SpeakerVolumeDown");
}

/*/////////////////////////////////////////////////////////////////////
Title : void MV_TX_HF_WriteSpeakerVolume(unsigned char ucVol)
ucVol : 16 Step, Default is 16
/////////////////////////////////////////////////////////////////////*/
void MV_TX_HF_WriteSpeakerVolume(unsigned char ucVol)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x02);
	MV_TX_WriteBuf(0x27);
	MV_TX_WriteBuf(ucVol);
	LOG_BT("MV_TX_HF_WriteSpeakerVolume");
}

void MV_TX_HF_Read_SpeakerVolume(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x02);
	MV_TX_WriteBuf(0x28);
	LOG_BT("MV_TX_HF_Read_SpeakerVolume");
}

void MV_TX_HF_SpeedCall(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x03);
	MV_TX_WriteBuf(0x2A);
	
	MV_TX_WriteBuf(0x39);
	MV_TX_WriteBuf(0x39);
	LOG_BT("MV_TX_HF_SpeedCall");
}

void MV_TX_HF_MicMute(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x2B);
	LOG_BT("MV_TX_HF_MicMute");
}

void MV_TX_HF_AnswerCall(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x2C);
	LOG_BT("MV_TX_HF_AnswerCall");
}

void MV_TX_HF_HangUpCall(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x2D);
	LOG_BT("MV_TX_HF_HangUpCall");
}

void MV_TX_HF_RejectCall(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x2E);
	LOG_BT("MV_TX_HF_RejectCall");
}

void MV_TX_HF_LastNumberRedial(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x2F);

	LOG_BT("MV_TX_HF_LastNumberRedial");
}

void MV_TX_HF_NumberDial(unsigned char *ucNum, unsigned char ucCnt)
{
	unsigned char i;
	
	MV_RequestHeader();	
	MV_TX_WriteBuf(0x01 + ucCnt);
	MV_TX_WriteBuf(0x30);

	for(i = 0; i < ucCnt; ++i)
	{
		MV_TX_WriteBuf(*ucNum);
		++ucNum;
	}
	LOG_BT("MV_TX_HF_NumberDial");
}

/*///////////////////////////////////////////////////////////////////////////////
Title : void MV_REQ_AudioTransfer(void)
Only used HFP, if Current is HSP, use HS_SEND_BUTTON_REQ
////////////////////////////////////////////////////////////////////////////////*/
void MV_TX_HF_AudioTransfer(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x31);
	LOG_BT("MV_TX_HF_AudioTransfer");
}

/*//////////////////////////////////////////////////////////////////////////////////
Title : void MV_HF_DTMF_Tone(unsigned char ucData)
ucData : Ascii Code
//////////////////////////////////////////////////////////////////////////////////*/
void MV_TX_HF_DTMF_Tone(unsigned char ucData)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x02);
	MV_TX_WriteBuf(0x32);
	MV_TX_WriteBuf(ucData);
	LOG_BT("MV_TX_HF_DTMF_Tone");
}

void MV_TX_HF_VoiceDialActivation(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x33);
	LOG_BT("MV_TX_HF_VoiceDialActivation");
}

void MV_TX_HF_CallsReleaseHeldOrRejectWaiting(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x34);
	LOG_BT("MV_TX_HF_CallsReleaseHeldOrRejectWaiting");
}

void MV_TX_HF_CallsReleaseActiveAcceptOther(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x35);
	LOG_BT("MV_TX_HF_CallsReleaseActiveAcceptOther");
}

void MV_TX_HF_CallsHoldActiveAcceptOther(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x36);
	LOG_BT("MV_TX_HF_CallsHoldActiveAcceptOther");
}

void MV_TX_HF_CallsAddHeldCall(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x37);
	LOG_BT("MV_TX_HF_CallsAddHeldCall");
}

void MV_TX_HF_CallsExplicitCallTransfer(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x38);
	LOG_BT("MV_TX_HF_CallsExplicitCallTransfer");
}

void MV_TX_HF_GetNetworkOperator(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x39);
	LOG_BT("MV_TX_HF_GetNetworkOperator");
}

void MV_HF_TX_SubscriberNumber(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x3A);
	LOG_BT("MV_HF_TX_SubscriberNumber");
}

void MV_TX_HF_GetCurrentCalls(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x3B);
	LOG_BT("MV_TX_HF_GetCurrentCalls");
}

void MV_TX_HS_SendButtonPressReq(void)
{	
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x3C);
	LOG_BT("MV_TX_HS_SendButtonPressReq");
}

void MV_TX_AV_Connect(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x50);
	LOG_BT("MV_TX_AV_Connect");
}

void MV_TX_AV_ConnectToBDAddr(BT_DEVICE	sBT_List)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x07);
	MV_TX_WriteBuf(0x51);
	
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[0]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[1]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[2]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[3]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[4]);
	MV_TX_WriteBuf(sBT_List.ucDeviceAdr[5]);
	LOG_BT("MV_TX_AV_ConnectToBDAddr");
}

void MV_TX_AV_SpeakerVolumeUp(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x53);
	LOG_BT("MV_TX_AV_SpeakerVolumeUp");
}

void MV_TX_AV_SpeakerVolumeDown(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x54);
	LOG_BT("MV_TX_AV_SpeakerVolumeDown");
}

void MV_TX_AV_WriteSpeakerVolume(unsigned char ucData)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x02);
	MV_TX_WriteBuf(0x55);
	MV_TX_WriteBuf(ucData);
	LOG_BT("MV_TX_AV_WriteSpeakerVolume");
}

void MV_TX_AV_ReadSpeakerVolume(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x56);
	LOG_BT("MV_TX_AV_ReadSpeakerVolume");
}

void MV_TX_AV_PlayPause(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x57);
	LOG_BT("MV_TX_AV_PlayPause");
}

void MV_TX_AV_Stop(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x58);
	LOG_BT("MV_TX_AV_Stop");
}

void MV_TX_AV_Forward(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x59);
	LOG_BT("MV_TX_AV_Forward");
}

void MV_TX_AV_Backward(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x5A);
	LOG_BT("MV_TX_AV_Backward");
}

void MV_TX_AV_FastForward(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x5B);
	LOG_BT("MV_TX_AV_FastForward");
}

void MV_TX_AV_FastRewind(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x5C);
	LOG_BT("MV_TX_AV_FastRewind");
}

void MV_TX_PhoneBookConnect(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x60);
	LOG_BT("MV_TX_PhoneBookConnect");
}

void MV_TX_PhoneBookDisconnect(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x61);
	LOG_BT("MV_TX_PhoneBookDisconnect");
}

void MV_TX_PhoneBookGet(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x64);
	LOG_BT("MV_TX_PhoneBookGet");
}

void MV_TX_PhoneBookCallListGet(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x6F);
	LOG_BT("MV_TX_PhoneBookCallListGet");
}

void MV_TX_PhoneBookGetNext(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x6D);
	LOG_BT("MV_TX_PhoneBookGetNext");
}

void MV_TX_PhoneBookAbort(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x6B);
	LOG_BT("MV_TX_PhoneBookAbort");
}

void MV_TX_PhoneBookGetNumOfPhoneBook(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x6C);
	LOG_BT("MV_TX_PhoneBookGetNumOfPhoneBook");
}

void MV_TX_SYS_FW_Version(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x70);
	LOG_BT("MV_TX_SYS_FW_Version");
}

void MV_TX_SYS_Enter_DUT_Mode(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x72);
	LOG_BT("MV_TX_SYS_Enter_DUT_Mode");
}

void MV_TX_SYS_StartSpkMicLoopBack(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x73);
	LOG_BT("MV_TX_SYS_StartSpkMicLoopBack");
}

void MV_TX_SYS_StopSpkMicLoopBack(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x74);
	LOG_BT("MV_TX_SYS_StopSpkMicLoopBack");
}

void MV_TX_SYS_Enter_DFU_Mode(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x7A);
	LOG_BT("MV_TX_SYS_Enter_DFU_Mode");
}

void MV_TX_HF_WriteMICVolume_Req(unsigned char ucVolume)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x02);
	MV_TX_WriteBuf(0x29);
	MV_TX_WriteBuf(ucVolume);
	LOG_BT("MV_TX_HF_WriteMICVolume_Req:%d", ucVolume);
}

void MV_TX_HF_ReadMICVolume_Req(void)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	MV_TX_WriteBuf(0x3D);
	LOG_BT("MV_TX_HF_ReadMICVolume_Req");
}

void MV_TX_BootMode(unsigned char ucMode)
{
	MV_RequestHeader();
	MV_TX_WriteBuf(0x01);
	switch  (ucMode)
	{
		case 0x01:
			MV_TX_WriteBuf(0x75);
			break;
		case 0x02:
			MV_TX_WriteBuf(0x76);
			break;
	}
	LOG_BT("MV_TX_BootMode:%d", ucMode);
}
#endif

